--POUR CONTROLE

/*remise dans le bon sens de masque-var*/
-- masque_var_trans;


define erp='erp_mli2.';
define outils='outils_mli2.';

 --CALL uvse_ExistsOrCreate('GEN_CHAMPSAIS');

 DELETE FROM se_GEN_CHAMPSAIS;


 /*
select * from (
SELECT &outils.stragg(source) source,champsais_cod, champsais_lib, enreg_s, longueurgraph_val, format_val, originecreat_val, champsaisorig_cod, unite_cod, enreg_id, champsais_lib2, pgi_typ, champ_typ, longueursais_val, precision_val, converscass_typ, saisie_ok, visible_ok, obligfocus_ok, obligval_ok, rubriqueaide_cod, msgaide_lib, infobulle_lib, presentation_typ, implicite_val
FROM (
  SELECT 'uv' source ,g.* FROM se_GEN_CHAMPSAIS g
  UNION ALL
  SELECT 'se' source ,g.* FROM &erp.GEN_CHAMPSAIS g where exists (select 1 from &erp.vrt_att v where v.champsais_cod=g.champsais_cod)
  )

GROUP BY champsais_cod, champsais_lib, enreg_s, longueurgraph_val, format_val, originecreat_val, champsaisorig_cod, unite_cod, enreg_id, champsais_lib2, pgi_typ, champ_typ, longueursais_val, precision_val, converscass_typ, saisie_ok, visible_ok, obligfocus_ok, obligval_ok, rubriqueaide_cod, msgaide_lib, infobulle_lib, presentation_typ, implicite_val
HAVING Count(1)!=2 ) r
ORDER BY champsais_cod  */



 INSERT INTO se_GEN_CHAMPSAIS
 (SELECT distinct
         v.champsais_cod,
         v.att_lib champsais_lib,
         'N' enreg_s,
         m.col02 longueurgraph_val,
         NULL format_val,
         NULL originecreat_val,
         NULL champsaisorig_cod,
         NULL unite_cod,
         0 enreg_id,
         NULL champsais_lib2,
         NULL pgi_typ,
         3 champ_typ,
         m.col02 longueursais_val,
         NULL precision_val,
         NULL converscass_typ,
         'O' saisie_ok,
         'O' visible_ok,
         'N' obligfocus_ok,
         'O' obligval_ok,
         NULL rubriqueaide_cod,
         m.col01 msgaide_lib,
         m.col08 infobulle_lib,
         0 presentation_typ,
         Decode(m.col17,NULL,m.col21,NULL) implicite_val
     FROM  masque_var_trans m , se_VRT_ATT v
     WHERE col05 IS NOT NULL AND Length(m.id)<=5
       AND v.vrt_cod(+)=m.id AND v.att_cod(+)=m.col05
     );

 UPDATE se_GEN_CHAMPSAIS tf SET FORMAT_VAL=(select FORMAT_VAL FROM &erp.GEN_CHAMPSAIS f WHERE f.champsais_cod=tf.champsais_cod) ;
 UPDATE se_GEN_CHAMPSAIS tf SET PRECISION_VAL=(select PRECISION_VAL FROM &erp.GEN_CHAMPSAIS f WHERE f.champsais_cod=tf.champsais_cod) ;

 UPDATE se_GEN_CHAMPSAIS tf SET enreg_id=Nvl((select enreg_id FROM &erp.GEN_CHAMPSAIS f WHERE f.champsais_cod=tf.champsais_cod),0) ;
 UPDATE se_GEN_CHAMPSAIS tf SET enreg_id=&outils.enreg_id.NEXTVAL WHERE enreg_id IS NULL OR enreg_id =0;

 UPDATE se_GEN_CHAMPSAIS C SET FORMAT_VAL=NULL,PRECISION_VAL =NULL
 WHERE champ_typ=3 AND (FORMAT_VAL IS NOT NULL OR  PRECISION_VAL IS NOT NULL) ;

 drop table se_GEN_CHAMPSAIS_vrtatt;
 create table se_GEN_CHAMPSAIS_vrtatt as (select * from se_GEN_CHAMPSAIS);


 commit;





